#!/bin/bash

# 共享文件检索工具启动脚本
# 自动安装依赖、构建前端并启动服务

echo "=========================================="
echo "🚀 共享文件检索工具启动脚本"
echo "=========================================="

# 检查Node.js是否安装
if ! command -v node &> /dev/null; then
    echo "❌ 错误: Node.js 未安装"
    echo "请先安装 Node.js 18.0+ 版本"
    echo "下载地址: https://nodejs.org/"
    exit 1
fi

# 检查Node.js版本
NODE_VERSION=$(node -v | cut -d'v' -f2 | cut -d'.' -f1)
if [ "$NODE_VERSION" -lt 18 ]; then
    echo "❌ 错误: Node.js 版本过低 (当前: $(node -v))"
    echo "请升级到 Node.js 18.0+ 版本"
    exit 1
fi

echo "✅ Node.js 版本检查通过: $(node -v)"

# 进入项目目录
PROJECT_DIR="$(cd "$(dirname "${BASH_SOURCE[0]}")" && pwd)"
cd "$PROJECT_DIR"

echo "📁 项目目录: $PROJECT_DIR"

# 检查并安装后端依赖
echo "📦 检查后端依赖..."
if [ ! -d "node_modules" ]; then
    echo "🔧 安装后端依赖..."
    npm install
    if [ $? -ne 0 ]; then
        echo "❌ 后端依赖安装失败"
        exit 1
    fi
    echo "✅ 后端依赖安装完成"
else
    echo "✅ 后端依赖已存在"
fi

# 检查并安装前端依赖
echo "📦 检查前端依赖..."
cd frontend
if [ ! -d "node_modules" ]; then
    echo "🔧 安装前端依赖..."
    npm install
    if [ $? -ne 0 ]; then
        echo "❌ 前端依赖安装失败"
        exit 1
    fi
    echo "✅ 前端依赖安装完成"
else
    echo "✅ 前端依赖已存在"
fi

# 构建前端
echo "🏗️  构建前端应用..."
npm run build
if [ $? -ne 0 ]; then
    echo "❌ 前端构建失败"
    exit 1
fi
echo "✅ 前端构建完成"

# 返回项目根目录
cd "$PROJECT_DIR"

# 检查配置文件
CONFIG_FILE="server/config/config.js"
if [ -f "$CONFIG_FILE" ]; then
    TARGET_PATH=$(grep -o "targetPath: '[^']*'" "$CONFIG_FILE" | cut -d"'" -f2)
    echo "📋 配置信息:"
    echo "   扫描路径: $TARGET_PATH"
    
    # 检查扫描路径是否存在
    if [ ! -d "$TARGET_PATH" ]; then
        echo "⚠️  警告: 扫描路径不存在或未挂载"
        echo "   请确保网络共享文件夹已正确挂载到: $TARGET_PATH"
        echo "   您可以稍后在配置文件中修改路径"
    else
        echo "✅ 扫描路径检查通过"
    fi
else
    echo "❌ 配置文件不存在: $CONFIG_FILE"
    exit 1
fi

# 创建数据目录
mkdir -p data
echo "✅ 数据目录已准备"

echo "=========================================="
echo "🎉 准备工作完成，正在启动服务..."
echo "=========================================="

# 启动服务器
echo "🌐 启动服务器..."
echo "   访问地址: http://localhost:3000"
echo "   按 Ctrl+C 停止服务"
echo ""

# 启动服务
npm start